{"id":25655,"date":"2023-02-15T11:36:23","date_gmt":"2023-02-15T11:36:23","guid":{"rendered":"http:\/\/localhost\/helpold\/?p=25655"},"modified":"2025-01-02T11:19:04","modified_gmt":"2025-01-02T07:49:04","slug":"object-duplicity-backup","status":"publish","type":"post","link":"https:\/\/www.arvancloud.ir\/help\/fa\/object-duplicity-backup\/","title":{"rendered":"\u0634\u06cc\u0648\u0647\u200c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Duplicity \u0628\u0631\u0627\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u200c\u06af\u06cc\u0631\u06cc \u062f\u0631 \u0641\u0636\u0627\u06cc \u0627\u0628\u0631\u06cc \u0622\u0631\u0648\u0627\u0646"},"content":{"rendered":"<p>Duplicity\u00a0\u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u06a9\u0627\u0645\u0646\u062f\u0644\u0627\u06cc\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0632\u0628\u0627\u0646 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u0648 \u0648\u0627\u0644\u06cc\u0648\u0645\u200c\u0647\u0627\u06cc\u00a0tar \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u062f\u0631 \u06cc\u06a9 \u0645\u062e\u0632\u0646 \u0645\u062d\u0644\u06cc \u06cc\u0627 remote \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u0632 GNU Privacy Guard (GPG) \u0628\u0631\u0627\u06cc \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0648 \u0627\u0645\u0636\u0627\u06cc \u0622\u0631\u0634\u06cc\u0648\u0647\u0627\u06cc \u062e\u0648\u062f \u0648 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 rsync \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u200c\u0647\u0627\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634\u06cc \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0628\u06a9\u0627\u067e\u200c\u0647\u0627 \u0631\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0647 \u0645\u062e\u0627\u0632\u0646 \u0645\u062e\u062a\u0644\u0641\u06cc \u0627\u0632 \u062c\u0645\u0644\u0647 \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u0641\u0627\u06cc\u0644 \u0645\u062d\u0644\u06cc\u060c \u0633\u0631\u0648\u0631\u0647\u0627\u06cc SFTP\u00a0\u06cc\u0627\u00a0FTP \u0648 \u0630\u062e\u06cc\u0631\u0647\u200c\u0647\u0627\u06cc \u0634\u06cc \u0633\u0627\u0632\u06af\u0627\u0631 \u0628\u0627 S3 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c Duplicity \u0631\u0627 \u0646\u0635\u0628 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u0648 \u0628\u0647 \u0646\u062d\u0648\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u200c\u06af\u06cc\u0631\u06cc \u0627\u0632 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u062f\u0631 \u0641\u0636\u0627\u06cc \u0627\u0628\u0631\u06cc \u0622\u0631\u0648\u0627\u0646 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u06cc\u0645. \u0645\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0645\u0646\u0638\u0648\u0631 \u06cc\u06a9 \u0635\u0646\u062f\u0648\u0642\u0686\u0647 \u0627\u06cc\u062c\u0627\u062f \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f \u0648 \u0646\u062d\u0648\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u200c\u06af\u06cc\u0631\u06cc \u062f\u0633\u062a\u06cc \u0627\u0632 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u062f\u0631 \u0622\u0646 \u0631\u0627 \u067e\u0648\u0634\u0634 \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u062f. \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u0628\u0627 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u0628\u06a9\u0627\u067e \u06a9\u0627\u0645\u0644 \u0647\u0641\u062a\u06af\u06cc \u0648 \u0627\u0641\u0632\u0627\u06cc\u0634\u06cc \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0627\u06cc\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f \u0631\u0627 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/p>\n<h2>\u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627<\/h2>\n<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0634\u0645\u0627 \u0628\u0647 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f:<\/p>\n<ul>\n<li>\u06cc\u06a9 \u0633\u0631\u0648\u0631 Ubuntu<\/li>\n<li>\u06cc\u06a9 \u0635\u0646\u062f\u0648\u0642\u0686\u0647 \u062f\u0631 \u0641\u0636\u0627\u06cc \u0627\u0628\u0631\u06cc \u0622\u0631\u0648\u0627\u0646 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u067e\u06cc\u0634\u062e\u0627\u0646 \u067e\u0646\u0644 \u06a9\u0627\u0631\u0628\u0631\u06cc:\n<ul>\n<li>Secret Key<\/li>\n<li>Access Key<\/li>\n<li>Endpoint URL<\/li>\n<li>\u0646\u0627\u0645 \u0628\u0627\u06a9\u062a<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>\u0646\u0635\u0628 Duplicity<\/h2>\n<p>\u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0646\u0633\u062e\u0647 \u0628\u0647\u200c\u0631\u0648\u0632 Duplicity\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0622\u0646 \u0631\u0627 \u0627\u0632 \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc Personal Package Archive Duplicity (PPA) \u0646\u0635\u0628 \u06a9\u0646\u06cc\u0645:<\/p>\n<pre><code>sudo apt-add-repository ppa:duplicity-team\/ppa<\/code><\/pre>\n<p>\u0647\u0645\u200c\u0686\u0646\u06cc\u0646 \u0628\u0633\u062a\u0647 python-boto \u0631\u0627 \u0646\u0635\u0628 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f \u062a\u0627 \u0628\u0647 Boto \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645. Boto\u00a0\u06cc\u06a9 \u0628\u0633\u062a\u0647\u00a0Python\u00a0\u0627\u0633\u062a \u06a9\u0647 \u0631\u0627\u0628\u0637 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u062e\u062f\u0645\u0627\u062a \u0648\u0628 \u0622\u0645\u0627\u0632\u0648\u0646 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f. \u0627\u06cc\u0646 \u0628\u0647 \u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0627\u0632 \u0642\u0627\u0628\u0644\u06cc\u062a \u0627\u0631\u062a\u0628\u0627\u0637 \u00a0\u0641\u0636\u0627\u06cc \u0627\u0628\u0631\u06cc \u0622\u0631\u0648\u0627\u0646 \u0628\u0627\u00a0API\u0647\u0627\u06cc \u00a0AWS S3\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645. \u0645\u0627 python-boto \u0631\u0627 \u0627\u0632 \u0645\u062e\u0627\u0632\u0646 \u0631\u0633\u0645\u06cc \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u0646\u0635\u0628 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f. \u0627\u06af\u0631 \u062a\u0631\u062c\u06cc\u062d \u0645\u06cc\u200c\u062f\u0647\u06cc\u062f \u0627\u0632 Boto3 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0627\u0632 \u0645\u0646\u0628\u0639 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0639\u0644\u0627\u0648\u0647 \u0628\u0631 python-boto \u060chaveged \u0631\u0627 \u0646\u06cc\u0632 \u0646\u0635\u0628 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f\u060c \u0627\u0628\u0632\u0627\u0631\u06cc \u06a9\u0647 \u0628\u0647 \u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0622\u0646\u062a\u0631\u0648\u067e\u06cc \u0644\u0627\u0632\u0645 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc GPG \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645. \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0627\u06cc\u0646 \u06a9\u0644\u06cc\u062f\u0647\u0627\u060c GPG \u0627\u0632 \u0633\u0637\u062d \u0622\u0646\u062a\u0631\u0648\u067e\u06cc \u06cc\u0627 \u063a\u06cc\u0631\u0642\u0627\u0628\u0644 \u067e\u06cc\u0634 \u0628\u06cc\u0646\u06cc \u0628\u0648\u062f\u0646 \u0633\u06cc\u0633\u062a\u0645 \u0645\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0646\u0635\u0628 haveged \u0628\u0647 \u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u0631\u0648\u0646\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0644\u06cc\u062f \u0631\u0627 \u062a\u0633\u0631\u06cc\u0639 \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0646\u0635\u0628 \u0627\u06cc\u0646 \u0628\u0633\u062a\u0647 \u0647\u0627\u060c \u0641\u0647\u0631\u0633\u062a \u0645\u062e\u0627\u0632\u0646 \u0645\u062d\u0644\u06cc \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code>sudo apt-get update<\/code><\/pre>\n<p>\u0633\u067e\u0633 duplicity \u060cpython-boto \u0648 haveged \u0631\u0627 \u0628\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code>apt install -y python3-boto python3-pip haveged gettext librsync-dev\r\nwget https:\/\/gitlab.com\/duplicity\/duplicity\/\/archive\/rel.0.8.23\/duplicity-rel.0.8.23.tar.gz\r\ntar xaf duplicity-rel.0.8.23.tar.gz\r\n\/cd duplicity-rel.0.8.23\r\npip3 install -r requirements.txt\r\npython3 setup.py install<\/code><\/pre>\n<h2>\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0628\u0631\u0627\u06cc \u0628\u06a9\u0627\u067e<\/h2>\n<p>\u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u0646\u062d\u0648\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u0641\u0631\u0622\u06cc\u0646\u062f \u0628\u06a9\u0627\u067e\u060c \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc home \u06a9\u0627\u0631\u0628\u0631\u06cc \u063a\u06cc\u0631 \u0627\u0632 \u00a0root\u00a0\u06cc\u06a9 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0628\u0631\u0627\u06cc \u0628\u06a9\u0627\u067e\u200c\u0647\u0627\u06cc \u062e\u0648\u062f \u0648 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0646\u0645\u0648\u0646\u0647 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. \u0645\u0627 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u062e\u0648\u062f \u0631\u0627\u00a0test_backups \u0635\u062f\u0627 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f:<\/p>\n<pre><code>mkdir ~\/test_backups<\/code><\/pre>\n<p>\u0633\u067e\u0633 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0641\u0627\u06cc\u0644 \u0628\u0647 \u0646\u0627\u0645 smaple.txt \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code>echo \" Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam porta lacinia risus, ut ultrices nulla suscipit at. Nunc quis egestas metus, in ultrices urna.\" &gt;&gt; ~\/test_backups\/sample.txt<\/code><\/pre>\n<p>\u062f\u0631 \u0645\u0631\u062d\u0644\u0647\u200c\u06cc \u0628\u0639\u062f \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u062a\u0627 \u06cc\u06a9 \u06a9\u0644\u06cc\u062f GPG \u0628\u0633\u0627\u0632\u06cc\u0645.<\/p>\n<h2>\u0627\u06cc\u062c\u0627\u062f \u06a9\u0644\u06cc\u062f GPG<\/h2>\n<p>\u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u060c \u06cc\u06a9 \u062c\u0641\u062a \u06a9\u0644\u06cc\u062f GPG \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. \u0628\u0631\u0627\u06cc \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0627\u0646\u062a\u0642\u0627\u0644 \u0627\u06cc\u0645\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u060c GPG \u0627\u0632 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u06a9\u0644\u06cc\u062f \u0639\u0645\u0648\u0645\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0645\u0639\u0646\u06cc \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u062f\u0631 \u0632\u0645\u06cc\u0646\u0647 \u0645\u0627 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627 \u062f\u0631 \u06a9\u0644\u06cc\u062f \u0639\u0645\u0648\u0645\u06cc \u0645\u0627 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0648 \u0628\u0647 \u0645\u062e\u0632\u0646 \u0645\u0627 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n<p>\u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u0645\u0627 \u062f\u0631 \u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0645\u0627 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0628\u0647 \u0646\u0627\u0645 ~\/.gnupg \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u06a9\u0647 \u0628\u0627 \u062a\u0648\u0644\u06cc\u062f \u06a9\u0644\u06cc\u062f\u0647\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u0634\u0648\u062f. \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 duplicity \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645\u060c \u06cc\u06a9 \u0634\u0646\u0627\u0633\u0647 \u06a9\u0644\u06cc\u062f \u0639\u0645\u0648\u0645\u06cc \u0631\u0627 \u0645\u0634\u062e\u0635 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0628\u0647 \u062c\u0641\u062a \u06a9\u0644\u06cc\u062f \u0645\u0627 \u0627\u0634\u0627\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u0634\u0646\u0627\u0633\u0647 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627 \u0648 \u0627\u0645\u0636\u0627\u06cc\u06cc \u0631\u0627 \u0641\u0639\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0645\u0627\u0644\u06a9\u06cc\u062a \u0645\u0627 \u0628\u0631 \u06a9\u0644\u06cc\u062f \u062e\u0635\u0648\u0635\u06cc \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0628\u0647 \u0645\u062e\u0632\u0646 \u0645\u0627 \u0645\u0646\u062a\u0642\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0627\u0632 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0645\u0627 \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u06a9\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u0647\u0631 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0628\u062e\u0648\u0627\u0647\u062f \u0628\u0627 \u06a9\u0644\u06cc\u062f \u062e\u0635\u0648\u0635\u06cc \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u06a9\u0646\u062f.<\/p>\n<p>GPG \u0628\u0627\u06cc\u062f \u0628\u0647 \u0637\u0648\u0631 \u067e\u06cc\u0634 \u0641\u0631\u0636 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u0645\u0627 \u0646\u0635\u0628 \u0634\u0648\u062f. \u0628\u0631\u0627\u06cc \u062a\u0633\u062a \u0627\u06cc\u0646\u060c \u062a\u0627\u06cc\u067e \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code>gpg \u2013version<\/code><\/pre>\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0631\u062f\u06cc\u062f \u06a9\u0647 GPG \u0646\u0635\u0628 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 \u062c\u0641\u062a \u06a9\u0644\u06cc\u062f \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code>gpg --gen-key<\/code><\/pre>\n<p>\u0628\u0631\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0644\u06cc\u062f\u0647\u0627 \u0627\u0632 \u0634\u0645\u0627 \u062a\u0639\u062f\u0627\u062f\u06cc \u0633\u0648\u0627\u0644 \u067e\u0631\u0633\u06cc\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f:<\/p>\n<ul>\n<li>Type of Key (\u0646\u0648\u0639 \u06a9\u0644\u06cc\u062f): (1) RSA \u0648 RSA (\u067e\u06cc\u0634\u200c\u0641\u0631\u0636) \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>Size of Key (\u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644\u06cc\u062f): \u0628\u0627 \u0641\u0634\u0627\u0631 \u062f\u0627\u062f\u0646 ENTER \u0627\u0646\u062f\u0627\u0632\u0647 \u067e\u06cc\u0634 \u0641\u0631\u0636 2048 \u0628\u06cc\u062a \u062a\u0627\u06cc\u06cc\u062f \u0645\u06cc\u200c\u0634\u0648\u062f.<\/li>\n<li>Key Expiration Date (\u062a\u0627\u0631\u06cc\u062e \u0627\u0646\u0642\u0636\u0627\u06cc \u06a9\u0644\u06cc\u062f): \u0628\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 1y \u06a9\u0644\u06cc\u062f\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u067e\u0633 \u0627\u0632 \u06cc\u06a9 \u0633\u0627\u0644 \u0645\u0646\u0642\u0636\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f.<\/li>\n<li>\u0627\u0646\u062a\u062e\u0627\u0628 \u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 y \u062a\u0627\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f<\/li>\n<li>ID\/Real Name (\u0634\u0646\u0627\u0633\u0647 \u06a9\u0627\u0631\u0628\u0631\u06cc\/\u0646\u0627\u0645 \u0648\u0627\u0642\u0639\u06cc): \u0627\u0633\u0645 \u062e\u0648\u062f \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/li>\n<li>Email Address (\u0622\u062f\u0631\u0633 \u0627\u06cc\u0645\u06cc\u0644): \u0622\u062f\u0631\u0633 \u0627\u06cc\u0645\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f.<\/li>\n<li>Comment (\u062a\u0648\u0636\u06cc\u062d\u0627\u062a): \u062f\u0631 \u0627\u06cc\u0646\u200c\u062c\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 \u062a\u0648\u0636\u06cc\u062d \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0628\u0627 \u0627\u0645\u0636\u0627\u06cc \u0634\u0645\u0627 \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<\/li>\n<li>a(N)me \u060c\u00a9omment \u060c(E)mail\u00a0\u062a\u063a\u06cc\u06cc\u0631 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f \u06cc\u0627\u00a0k(O)ay\/(Q)uit\u00a0\u062e\u0627\u0631\u062c \u0645\u06cc\u200c\u0634\u0648\u06cc\u062f\u061f\u00a0O \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0646\u06cc\u062f.<\/li>\n<li>Enter Passphrase: \u0627\u0632 \u0634\u0645\u0627 \u062e\u0648\u0627\u0633\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u06cc\u06a9 \u0639\u0628\u0627\u0631\u062a \u0639\u0628\u0648\u0631 \u06cc\u0627 passphrase\u00a0\u0631\u0627 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f. \u062d\u062a\u0645\u0627 \u0628\u0647 \u0627\u06cc\u0646 \u0639\u0628\u0627\u0631\u062a \u062a\u0648\u062c\u0647 \u06a9\u0646\u06cc\u062f. \u0645\u0627 \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646Passphrase GPG \u0628\u0647 \u0622\u0646 \u0627\u0634\u0627\u0631\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/li>\n<\/ul>\n<p>\u067e\u0633 \u0627\u0632 \u067e\u0627\u06cc\u0627\u0646 \u0645\u0631\u0627\u062d\u0644\u060c \u06a9\u0644\u06cc\u062f \u062a\u0648\u0644\u06cc\u062f \u0634\u062f\u0647 \u0631\u0627 \u06a9\u0647 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u06f8\u060c \u06f1\u06f6 \u06cc\u0627 \u06f4\u06f0 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631 \u0628\u0627\u0634\u062f \u06a9\u067e\u06cc \u06a9\u0646\u06cc\u062f. \u0647\u0645\u200c\u0686\u0646\u06cc\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0644\u06cc\u062f \u062e\u0648\u062f \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<pre><code>gpg --list-keys<\/code><\/pre>\n<h2>\u0627\u062a\u0635\u0627\u0644 Duplicity \u0628\u0647 \u0641\u0636\u0627\u06cc \u0627\u0628\u0631\u06cc<\/h2>\n<p>\u0632\u0645\u0627\u0646\u06cc\u200c \u06a9\u0647 \u0647\u0645\u0647\u200c \u0686\u06cc\u0632 \u0646\u0635\u0628 \u0648 \u0622\u0645\u0627\u062f\u0647 \u0634\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u06cc\u0646 \u0633\u0631\u0648\u0631 \u0648 \u0641\u0636\u0627\u06cc \u0627\u0628\u0631\u06cc \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<h3>\u0648\u06cc\u0631\u0627\u06cc\u0634 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc<\/h3>\n<ol>\n<li>\u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0627\u0648\u0644 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0648 \u0644\u0627\u06af \u0631\u0627 \u0628\u0627 \u0645\u062c\u0648\u0632\u0647\u0627\u06cc \u0644\u0627\u0632\u0645 \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/li>\n<\/ol>\n<pre><code>touch Arvan-backups.sh Arvan-restore.sh .Arvan-configrc\r\nchmod 700 Arvan-backups.sh Arvan-restore.sh\r\nchmod 600 .Arvan-configrc\r\n\r\nmkdir -p \/var\/log\/duplicity\r\ntouch \/var\/log\/duplicity\/logfile{.log,-recent.log}<\/code><\/pre>\n<ol start=\"2\">\n<li>\u0628\u0647 \u0641\u0627\u06cc\u0644 .Arvan-configrc\u00a0\u062e\u0637\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f. \u0645\u0642\u0627\u062f\u06cc\u0631 \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u0631\u0627 \u0628\u0627 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u062d\u0633\u0627\u0628 \u062e\u0648\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ol>\n<pre>\r\n<code>export AWS_ACCESS_KEY_ID=\"<ArvanStorage ACCESS KEY>\"\r\nexport AWS_SECRET_ACCESS_KEY=\"<ArvanStorage SECRET ACCESS KEY>\"\r\nexport Arvan_REGION=\"<REGION OF YOUR BUCKET>\"\r\nexport Arvan_ENDPOINT_URL=\"https:\/\/s3.${Arvan_REGION}.arvanstorage.ir\"\r\n# Set Arvan_BUCKET as follows for duplicity < 0.8.23\r\n\r\n# For higher versions, see below\r\nexport Arvan_BUCKET=\"s3:\/\/s3.${Arvan_REGION}.arvanstorage.ir\/<NAME OF YOUR BUCKET>\"\r\n\r\n# For duplicity >= 0.8.23, it uses the boto3 library which uses a different naming scheme for bucket names\r\nexport Arvan_BUCKET=\"s3:\/\/<NAME OF YOUR BUCKET>\"\r\n\r\n# GPG Key information\r\nexport PASSPHRASE=\"<YOUR GPG KEY PASSPHRASE>\"\r\nexport GPG_FINGERPRINT=\"<YOUR GPG KEY FINGERPRINT>\"\r\n\r\n# Folder to backup\r\nexport SOURCE=\"<PATH TO FOLDER TO BACKUP>\"\r\n\r\n# Will keep backup up to 1 month\r\nexport KEEP_BACKUP_TIME=\"1M\"\r\n\r\n# Will make a full backup every 10 days\r\nexport FULL_BACKUP_TIME=\"10D\"\r\n\r\n# Log files\r\nexport LOGFILE_RECENT=\"\/var\/log\/duplicity\/logfile-recent.log\"\r\nexport LOGFILE=\"\/var\/log\/duplicity\/logfile.log\"\r\n\r\n# Function to log date and time\r\nlog() {\r\n    date=$(date +%Y-%m-%d)\r\n    hour=$(date +%H:%M:%S)\r\n    echo \"$date $hour $*\" >> ${LOGFILE_RECENT}\r\n}\r\n\r\n# Export the function for use in other contexts\r\nexport -f log<\/code>\r\n<\/pre>\n<p>\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0628\u0627\u0644\u0627 \u0647\u0631 \u06f1\u06f0 \u0631\u0648\u0632 \u06cc\u06a9 \u0628\u06a9\u0627\u067e \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f \u0648 \u0647\u0645\u0647\u200c\u06cc \u0628\u06a9\u0627\u067e\u200c\u0647\u0627 \u06a9\u0647 \u0639\u0645\u0631\u06cc \u0628\u06cc\u0634\u200c\u062a\u0631 \u0627\u0632 \u06cc\u06a9 \u0645\u0627\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u0646\u062f \u0631\u0627 \u062d\u0630\u0641 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<h3>\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0628\u06a9\u0627\u067e<\/h3>\n<p>\u0628\u0647 \u06a9\u0645\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0632\u06cc\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0641\u0631\u0622\u06cc\u0646\u062f \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u200c\u06af\u06cc\u0631\u06cc \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Duplicity\u00a0\u0628\u0647 \u0634\u06a9\u0644 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f:<\/p>\n<ol>\n<li>\u0645\u0642\u0627\u062f\u06cc\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 Arvan-backups.sh\u00a0\u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f:<\/li>\n<\/ol>\n<pre><code> \u00a0\/bin\/bash!#\r\n\u00a0\u00a0\u00a0 source &lt;FULL PATH TO&gt;\/. Arvan-configrc\r\n\u00a0\u00a0\u00a0 currently_backing_up=$(ps -ef | grep duplicity | grep python | wc -l)\r\n\r\n\u00a0\u00a0\u00a0 if [ $currently_backing_up -eq 0 ]; then\r\n \u00a0\u00a0\u00a0\u00a0  Clear the recent log file #\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 cat \/dev\/null &gt; ${LOGFILE_RECENT}\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 log \"&gt;&gt;&gt; removing old backups\"\r\n \u00a0\u00a0\u00a0   \\ duplicity remove-older-than \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \\ --s3-endpoint-url ${Arvan_ENDPOINT_URL}\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \\ --s3-region-name ${ Arvan_REGION}\r\n\r\n \u00a0\u00a0$1&lt;2 {LOGFILE_RECENT} $ &lt;&lt; { Arvan_BUCKET} $ {KEEP_BACKUP_TIME}$\r\n \u00a0\u00a0\u00a0\u00a0 duplicity &gt;= 0.8.23 #\r\n \u00a0\u00a0\u00a0\u00a0 determine S3_ENDPOINT_URL for Arvanstorage #\r\n \u00a0\u00a0\u00a0\u00a0 \"S3_ENDPOINT_URL=\"https:\/\/s3.${S3_REGION_NAME}.arvanstorage.ir\r\n\r\n \u00a0\u00a0\u00a0\u00a0 \"log \"&gt;&gt;&gt; creating and uploading backup to Arvanstorage\r\n \u00a0\u00a0\u00a0\u00a0 \\duplicity incr --full-if-older-than ${FULL_BACKUP_TIME} \r\n \u00a0\u00a0\u00a0\u00a0 \\asynchronous-upload-- \r\n \u00a0\u00a0\u00a0\u00a0 \\s3-endpoint-url ${ Arvan_ENDPOINT_URL}-- \r\n \u00a0\u00a0\u00a0\u00a0 \\s3-region-name ${ Arvan_REGION}-- \r\n \u00a0\u00a0\u00a0\u00a0 \\encrypt-key=${GPG_FINGERPRINT}-- \r\n \u00a0\u00a0\u00a0\u00a0 \\sign-key=${GPG_FINGERPRINT}-- \r\n \u00a0\u00a0  1$&lt;2 {LOGFILE_RECENT}$ &lt;&lt; {Arvan_BUCKET}${SOURCE}$\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 cat ${LOGFILE_RECENT} &gt;&gt; ${LOGFILE}\r\n\u00a0\u00a0\u00a0 fi<\/code><\/pre>\n<ol start=\"2\">\n<li>\u06cc\u06a9 \u0628\u0627\u0631 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0627\u0632 \u0635\u062d\u062a \u0622\u0646 \u0645\u0637\u0645\u06cc\u0646 \u0634\u0648\u06cc\u062f. \u0635\u0646\u062f\u0648\u0642\u0686\u0647\u200c\u06cc \u062e\u0648\u062f \u0631\u0627 \u0686\u06a9 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0641\u0627\u06cc\u0644 \u0628\u06a9\u0627\u067e \u0645\u0648\u062c\u0648\u062f \u0628\u0627\u0634\u062f \u0648 \u0647\u0645\u06cc\u0646\u0637\u0648\u0631 \u0644\u0627\u06af \u0645\u0631\u0628\u0648\u0637\u0647 \u062f\u0631 \u0641\u0627\u06cc\u0644 \u062f\u0631\u062c \u0634\u062f\u0647 \u0628\u0627\u0634\u062f.<\/li>\n<\/ol>\n<pre><code>cat \/var\/log\/duplicity\/logfile-recent.log<\/code><\/pre>\n<h3>\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u062f\u06cc\u062a\u0627<\/h3>\n<p>\u0628\u0647 \u06a9\u0645\u06a9 Duplicity \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0628\u06a9\u0627\u067e\u200c\u062a\u0627\u0646 \u0631\u0627 \u0647\u0645 \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0628\u062e\u0634 \u06cc\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0628\u0631\u0627\u06cc \u0622\u0633\u0627\u0646\u200c\u062a\u0631 \u06a9\u0631\u062f\u0646 \u0627\u06cc\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/p>\n<ol>\n<li>\u0645\u0642\u0627\u062f\u06cc\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 Arvan-restore.sh\u00a0\u0630\u062e\u06cc\u0631\u0647 \u0646\u0645\u0627\u06cc\u06cc\u062f:<\/li>\n<\/ol>\n<pre><code> \u00a0\u00a0 bin\/bash\/!#\r\n\u00a0\u00a0\u00a0 source &lt;FULL PATH TO&gt;\/.Arvan-configrc\r\n\r\n\u00a0\u00a0\u00a0 if [ $# -lt 2 ]; then\r\n \u00a0\u00a0\u00a0\u00a0 &lt;echo -e \"Usage $0 &lt;time or delta&gt; [file to restore] &lt;restore to\r\n  :Exemple\r\n  t$ $0 2018-7-21 recovery\/\u00a0 ## recovers * from closest backup to date\\\r\n  ;\"'t$ $0 0D secret data\/\u00a0 ## recovers most recent file nammed 'secret\\\r\n\u00a0\u00a0\u00a0 exit; fi\r\n\r\n\u00a0\u00a0\u00a0 if [ $# -eq 2 ]; then\r\n \u00a0\u00a0\u00a0\u00a0 \\duplicity \r\n \u00a0\u00a0\u00a0\u00a0 \\s3-endpoint-url ${Arvan_ENDPOINT_URL}-- \r\n \u00a0\u00a0\u00a0\u00a0 \\s3-region-name ${Arvan _REGION}-- \r\n \u00a0\u00a0\u00a0\u00a0 \\time $1-- \r\n \u00a0\u00a0\u00a0\u00a0 $2\u00a0{Arvan_BUCKET}$ \r\n\u00a0\u00a0\u00a0 fi\r\n\r\n\u00a0\u00a0\u00a0 if [ $# -eq 3 ]; then\r\n \u00a0\u00a0\u00a0\u00a0   \\duplicity \r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \\s3-endpoint-url ${Arvan_ENDPOINT_URL}-- \r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \\s3-region-name ${Arvan_REGION}-- \r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \\time $1--\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \\file-to-restore $2-- \r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $3 {Arvan_BUCKET}$ \r\n\u00a0\u00a0\u00a0 fi<\/code><\/pre>\n<ol start=\"2\">\n<li>\u0628\u0631\u0627\u06cc \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0622\u067e\u0644\u0648\u062f \u0634\u062f\u0647 \u062f\u0631 \u0642\u0633\u0645\u062a \u0642\u0628\u0644\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/li>\n<\/ol>\n<pre><code>\/Arvan-restore.sh 0D \/tmp\/backup-recovery-test\/.<\/code><\/pre>\n<p>\u0647\u0645\u200c\u0686\u0646\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0645\u0634\u062e\u0635 \u0627\u0632 \u06f5 \u0631\u0648\u0632 \u067e\u06cc\u0634 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code>\/Arvan-restore.sh 5D &lt;file&gt; \/tmp\/backup-recovery-test\/.<\/code><\/pre>\n<h3>\u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u200c\u06af\u06cc\u0631\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631<\/h3>\n<p>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0633\u0631\u0648\u06cc\u0633 crontab \u0645\u06cc\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u06cc\u0632\u06cc \u06a9\u0646\u06cc\u062f \u062a\u0627 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0647\u0627\u06cc \u062f\u0644\u062e\u0648\u0627\u0647 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u200c\u06af\u06cc\u0631\u06cc \u0627\u062c\u0631\u0627 \u0634\u0648\u062f. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 cronetab -e \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0633\u0631\u0648\u06cc\u0633 cron \u0631\u0627 \u0645\u0637\u0627\u0628\u0642 \u062f\u0633\u062a\u0648\u0631\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0631\u0648\u0632\u06cc \u062f\u0648 \u0628\u0627\u0631 \u062f\u0631 \u0633\u0627\u0639\u0627\u062a \u06f3:\u06f0\u06f0 \u0648 \u06f1\u06f5:\u06f0\u06f0 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n<pre><code>PATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/sbin:\/bin:\/usr\/sbin:\/usr\/bin\r\nSHELL=\/bin\/bash\r\n3,15 00 * * * \r\nFULL PATH TO&gt;\/Arvan-backups.sh &gt; \/dev\/null 2&gt;&amp;1&gt;<\/code><\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Duplicity\u00a0\u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u06a9\u0627\u0645\u0646\u062f\u0644\u0627\u06cc\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0632\u0628\u0627\u0646 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u0648 \u0648\u0627\u0644\u06cc\u0648\u0645\u200c\u0647\u0627\u06cc\u00a0tar \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u062f\u0631 \u06cc\u06a9 \u0645\u062e\u0632\u0646 \u0645\u062d\u0644\u06cc \u06cc\u0627 remote \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u0632 GNU Privacy Guard (GPG) \u0628\u0631\u0627\u06cc \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0648 \u0627\u0645\u0636\u0627\u06cc \u0622\u0631\u0634\u06cc\u0648\u0647\u0627\u06cc \u062e\u0648\u062f \u0648 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 rsync \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u200c\u0647\u0627\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634\u06cc \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0628\u06a9\u0627\u067e\u200c\u0647\u0627 \u0631\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0647 \u0645\u062e\u0627\u0632\u0646 \u0645\u062e\u062a\u0644\u0641\u06cc \u0627\u0632 [&hellip;]<\/p>\n","protected":false},"author":79,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"r1_post_views_count":"840","feedback_yes":"0","feedback_no":"0","ads_id_sidebar":"","ads_id_content":"","footnotes":""},"categories":[225,231],"tags":[],"class_list":["post-25655","post","type-post","status-publish","format-standard","hentry","category-cloud-storage","category-backup-migration"],"lang":"fa","translations":{"fa":25655},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/posts\/25655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/users\/79"}],"replies":[{"embeddable":true,"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/comments?post=25655"}],"version-history":[{"count":10,"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/posts\/25655\/revisions"}],"predecessor-version":[{"id":28237,"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/posts\/25655\/revisions\/28237"}],"wp:attachment":[{"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/media?parent=25655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/categories?post=25655"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/tags?post=25655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}