بایگانی دسته: GNU

اضافه کردن ادمین به گروهی که ادمینش لفت داده در ماتریک

من لیست اعضا رو میگیرم

curl --location 'https://m.favagostar.ir/_synapse/admin/v1/rooms/!VmURoRTnPcdplqUBbB:m.favagostar.ir/members' \
--header 'Authorization: Bearer syt_c2FlYg_asdasdasdasd1mCKi5'

این قسمت مهم نیست ولی توی قسمت تست پست من یوزر نفر اول رو ذخیره میکنم

pm.environment.set("already_in_group_user",pm.response.json().members[0])

بعد توکن اون یوزر رو میگیرم

curl --location --request POST 'https://m.favagostar.ir/_synapse/admin/v1/users/@mahsa:m.fava-gostar.ir/login' \
--header 'Authorization: Bearer syt_c2FlYg_sadad_1mCKi5' \
--data ''

باز اگه postman دارید توی تست میتونید توکن رو ذخیره کنید

pm.environment.set("token_already_in_group_user",pm.response.json().access_token)

توکن ادمین سابق گروه رو هم میگیرم

curl --location --request POST 'https://m.favagostar.ir/_synapse/admin/v1/users/@kasra:m.favagostar.ir/login' \
--header 'Authorization: Bearer syt_c2FlYg_dfgdfgdfgdgdfg_1mCKi5' \
--data ''

حالا اگه postman هم داریم توکن رو ذخیره میکنیم

pm.environment.set("token_admin_user_who_left_group",pm.response.json().access_token)

حالا ادمین سابق رو باز دعوت میکنیم گروه

curl --location 'https://m.favagostar.ir/_matrix/client/v3/rooms/!VmURoRTnPcdplqUBbB:m.favagostar.ir/invite' \
--header 'Content-Type: text/plain' \
--header 'Authorization: Bearer syt_dddd_sdfsdfsdfsdf_1XsrRs' \
--data-raw '{
    
   "user_id": "@kasra:m.favagostar.ir"

}'

حالا یوزری که میخوایم ادمین جدید گروه بشه رو با توکن ادمین سابق میاریم گروه

curl --location 'https://m.favagostar.ir/_matrix/client/v3/rooms/!VmURoRTnPcdplqUBbB:m.favagostar.ir/invite' \
--header 'Content-Type: text/plain' \
--header 'Authorization: Bearer syt_group_admin_token_1XsrRs' \
--data-raw '{
    "user_id": "@fgostar:m.favagostar.ir"
}'

بعد ادمین جدید رو جوین میکنیم

curl --location --request POST 'https://m.favagostar.ir/_matrix/client/v3/rooms/!VmURoRTnPcdplqUBbB:m.favagostar.ir/join' \
--header 'Authorization: Bearer syt_a2FzcmE_fsfsdfsdfsdf_0GBsmR' \
--data ''

بعد دسترسی ادمین جدید رو ست میکنم

curl --location 'https://m.favagostar.ir/_synapse/admin/v1/rooms/!VmURoRTnPcdplqUBbB:m.favagostar.ir/make_room_admin' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer syt_c2FlYg_dfgdgdfgdfg_1mCKi5' \
--data-raw '{
    "user_id": "@fgostar:m.favagostar.ir"
}'

ادمین قبلی گروه رو ترک کنه

curl --location --request POST 'https://m.fava-gostar.ir/_matrix/client/v3/rooms/!VmURoRTnPcdplqUBbB:m.fava-gostar.ir/leave' \
--header 'Authorization: Bearer syt_asfsfsdfs_0GBsmR' \
--data ''
پسندها(0)شاکی(0)

افزایش و کاهش حجم پارتیشن‌های lvm

اشتباه به جای این‌که پارتیشن /var رو صد گیگ کنم، پارتیشن /home رو صدگیگ کردم.

حالا برای درست کردنش اول ssh زدم به سرور

cd /tmp
exec sudo su
lsof /home
kill pid هرچی بالا بود
umount /home

میخوام سایز دایرکتوری home رو بکنم 12 گیگ

lvreduce --resizefs -L 12G /dev/mapper/apps--w01--vg-home 

و همه حجم آزاد شده رو بدم به /var

lvextend -r -l +100%FREE /dev/mapper/apps--w01--vg-var

به قول عرفان می‌گه که وقتی یه حرکت خیلی بزرگ میزنی ری استارت کن ببین بالا میاد یا نه.

پسندها(0)شاکی(0)

کوتاه کردن لینک از طریق خط فرمان

Fish shell

Python

#!/usr/bin/env python
# coding: utf-8

# In[1]:


from json import loads
from requests import post
from pprint import pprint


# In[ ]:


API="x0x6KYOk6WjuLBbA3Vwxl1rE5l9VuiMd0Yci88il0"
headers = {"X-API-key":API}
data = {"target":"https://sae13.ir"}


# In[6]:


response=post("https://kutt.it/api/url/submit",data=data,headers=headers)

js=loads(response.content.decode())

pprint(js)
پسندها(0)شاکی(0)

نصب روتر پیازی بر روی رسپری پای ۳ و رسپیان ۹ stretch

 

قبلن یه آموزش ساخت روتر پیازی گذاشته بودم که روی رسپیان ۹ stretch جواب نمی ده . لذا قایل های کانفیگم رو برای رسپیان ۹ اینجا قرار میدم. لکن یه نگاه بهش بندازید یکم توضیح دادم چی به چیه اونجا.

آموزش قبلی اینجاست

نرم‌افزاریی که نیاز هست الان نصب کنید :

sudo apt install tor torsocks hostapd dnsmasq

برای فعال کردنشون هم که از دستورای زیر استفاده می‌کنیم:

 

sudo systemctl enable tor

sudo systemctl enable hostapd

sudo systemctl enable dnsmasq

برای آی پی استاتیک کابل اترنت فایل زیر رو باید ویرایش کنیم :

sudo nano /etc/dhcpcd.conf

 

# Example static IP configuration:
interface wlan0
static ip_address=172.24.1.1/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=172.24.1.1
#static domain_name_servers=127.0.10.1 , 208.67.222.222


# Example static IP configuration:
interface eth0
static ip_address=192.168.1.13/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=192.168.1.1
#static domain_name_servers=192.168.1.1

البته قسمت دوم که مربوط به کابل شبکه eth0 هست، اجباری نیست ولی خوب خودم برای این که بتونم داخل شبکه خودم دسترسی ssh داشته باشم ترجیحم اینه که آی پی کابل شبکه هم استاتیک باشه.

 

کار پکیج hostapd اینه که یه هات اسپات بسازه و براش دوتا تنظیم نیاز داریم.

یک ساخت یه فایل توی آدرس زیر با این مشخصات :

 

nano /etc/hostapd/hostapd.conf

 

interface=wlan0
# Use the nl80211 driver with the brcmfmac driver
driver=nl80211
# This is the name of the network
ssid=Tor
# Use the 2.4GHz band
hw_mode=g
# Use channel 6
channel=6
# Enable 802.11n
ieee80211n=1
# Enable WMM
wmm_enabled=1
# Enable 40MHz channels with 20ns guard interval
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
# Accept all MAC addresses
macaddr_acl=0
# Use WPA authentication
auth_algs=1
# Require clients to know the network name
ignore_broadcast_ssid=0
# Use WPA2
wpa=2
# Use a pre-shared key
wpa_key_mgmt=WPA-PSK
# The network passphrase
wpa_passphrase=1234567890-+
# Use AES, instead of TKIP
rsn_pairwise=CCMP

 

بعد هم توی فایل زیر

 

sudo nano /etc/default/hostapd

دنبال دستور

#DAEMON_CONF=""

بگردید و به صورت زیر تغییرش بدید:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

بریم سراغ فایل dnsmasq

اول از کانفیگ اصلیش یه بک آپ بگیریم

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.org

حالا یه فایل جدید بسازیم با داستانای زیر:

sudo nano /etc/dnsmasq.conf

interface=wlan0      # Use interface wlan0
listen-address=172.24.1.1 # Explicitly specify the address to listen on
#bind-interfaces      # Bind to the interface to make sure we aren't sending things elsewhere
no-resolv
port=53
server=127.0.10.1 # Forward DNS requests to Google DNS
domain-needed        # Don't forward short names
bogus-priv           # Never forward addresses in the non-routed address spaces.
dhcp-range=172.24.1.50,172.24.1.150,12h # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time

 

 

داخل فایل زیر

sudo nano /etc/sysctl.conf

یه خط هست به صورت

#net.ipv4.ip_forward=1

که باید از حالت نظر بیرونش بیاریم و # اولش رو پاک می‌کنیم.

مونده فایل کانفیگ تور

sudo nano /etc/tor/torrc

که من فعلا فقط دستورای زیر رو توش دارم. تا برم پل بهش اضافه کنم بعدن و سرورترنسپورت meek و  obfs4 رو هم دستی کامپایل کنم و تعریف کنم:

 

Log notice file /var/log/tor/notices.log
VirtualAddrNetwork 10.192.0.0/10
AutomapHostsSuffixes .onion,.exit
AutomapHostsOnResolve 1
TransPort 9040
TransListenAddress 172.24.1.1
DNSPort 127.0.10.1:53
#DNSListenAddress 127.0.10.1

بیاید به محکم کاری فایل لاگ تور رو خودمون دستی بسازیم:

sudo touch /var/log/tor/notices.log

بریم سراغ تنظیمات فایروالمون:

sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 22 -j REDIRECT --to-ports 22
sudo iptables -t nat -A PREROUTING -i wlan0 -p udp --dport 53 -j REDIRECT --to-ports 53
sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --syn -j REDIRECT --to-ports 9040

همانطور که مستحضرید دستورای فایروال با هر ری‌استارت پاک می‌شن. لذا پکیج iptables-persistent رو هم نصب می‌کنیم.

sudo apt install iptables-persistent

پسندها(4)شاکی(1)

بات پاک کننده فایل های APK از گروه ها

سلام این روزا نمیدونم چطور یه اسپمر اومده توی گروه‌ها فایل نصبی اندرویدی میزاره و از گروه لفت میده. یه بات نوشتم که اگه به جز مدیر کسی فایل نصبی اندروید بفرسته فایل رو پاک کنه و دسترسی طرف رو هم ببینده

برای استفاده از بات فقط لازمه مدیر گروهش کنید و دسترسی پاک کردن و بن کردن پیام ها رو بهش بدید.

http://t.me/apkdelbot

 

سورس بات  :

 

 

 

 

پسندها(1)شاکی(1)

ارسال فایل‌های حجیم یک پوشه توسط SSH+telegram-cli+pytg به تلگرام

کاری که امروز میخوام بکنم اینه که از طریق  SSH وصل بشم به ماشین مجازیم، تمام ویدیو‌های جادی توی یوتیوب رو دانلود کنم و با تلگرام تحت خط فرمان و کتابخونه پایتونی pytg ویدیو‌ها رو ارسال کنم کانال تلگرامم.

خوب با دستور SSH وارد VPSم شدم و توی پوشه /tmp یه پوشه jadi ساختم بعد با دستور زیر همه ویدیو های کانال یوتیوب جادی رو دانلود کردم.

youtube-dl -i https://www.youtube.com/user/jadi19jadi19/videos

 

آرگومان   -i    میگه که اگه توی دانلود ویدیویی به مشکل بر خوردی برو سراغ ویدیو بعدی و کلا از برنامه خارج نشو.

اگه youtube-dl رو نصب ندارید می‌تونید به راحتی با دستور زیر آخرین نسخه شو نصب کنید.

python3 -m pip install --upgrade --user youtube-dl

آرگومان –user می‌گه که فایل‌ها و کتابخونه های مورد نیاز رو برای همین یوزر نصب کن فقط. که نیاز به دسترسی های مدیری نداره.

برای آشنایی با سایر قابلیت‌های youtube-dl می‌تویند گیت نرم‌افزار رو مطالعه کنید.

https://github.com/rg3/youtube-dl/blob/master/README.md#format-selection

خوب کل ویدیو‌های جادی دانلود شدن.

حالا اگه تلگرام کلای رو نصب ندارید از آدرس زیر نصب کنید:

https://github.com/vysheng/tg

بعد از نصب با یه پورت دلخواه و به صورت خروجی جیسون اجراش می‌کنیم.

 /tmp /home/saeb/App/tg/bin/telegram-cli --json -P 4667

برای ارسال به یک کانال تلگرام نیاز داریم که یونیک آی دی کانال رو بدونیم. توی تلگرام کلای دستور زیر رو اول می‌نویسیم

channel_list

بعد با دستور زیر اطلاعات کانال مورد نظرمون رو می‌گیریم.

channel_info اطراف_من
{"id": "$050000007d208f3f0115b300fb607ab4", "print_name": "اطراف_من", "flags": 65603, "peer_type": "channel", "title": "اطراف من", "peer_id": 1066344573, "participants_count": 8, "admins_count": 3, "kicked_count": 0}

خوب یونیک آی‌دی کانال ما میشه "$050000007d208f3f0115b300fb607ab4"

حالا تلگرام کلای رو باز می‌زاریم و میریم سراغ پایتون

اول از همه کتابخونه pytg رو نصب می‌کنیم.

python3 -m pip install pytg --upgrade --user

حالا پایتون رو اجرا میکنیم و کتابخونه های مورد نیازمون رو توش صدا می‌زنیم.

saeb@Fujitsu  ~  python3

import subprocess
from pytg.sender import Sender
from time import sleep
sender = Sender(host="localhost", port=4667)

 

خوب فایل‌های پوشه ای که توش ویدیوها رو ریختیم که به من پوشه

/tmp/jadi

هست رو به صورت یه لیست ذخیره می‌کنیم.

ls=subprocess.getoutput('find /tmp/jadi -name "*.*"').splitlines()

خوب حالا فایل‌هامون رو می‌فرستیم به کانال

for i in ls:
        try:
                sent=sender.send_video("$050000007d208f3f0115b300fb607ab4",i,i.split('/')[3])
                if sent:
                        subprocess.run('mv',i,'/tmp')
        except:
                sleep(400)

 

توی دستور sender.send_video ورودی اول همون یونیک آی‌دی جایی هست که می‌خوایم بهش فایل‌ها رو بفرستیم. ورودی دوم ادرس فایل هست و ورودی سوم کپشن زیر ویدیو هست.

چند تا نکته : یک دستورا رو کپی پیست نکنید  تو رفتگی شون رعایت نشده پایتون دندون میگیره. دو اون اسلیپ ۴۰۰ برای اینه که پیش‌فرض ارسال فایل پای‌تی‌جی یک دقیقه هست و اگه بیشتر از یک دقیقه طول بکشه هشدار میده ولی ویدیو رو تلگرام کلای می‌فرسته . به من بر حسب تجربه هر فایلی بیشتر از چارصد ثانیه طول نمی‌کشه.اگه کسی بلده چطور زمان تایم اوت پای‌تی‌جی رو میشه عوض کرد بگه بزارم همیجا.

پسندها(1)شاکی(0)

نصب فونت های صابر راستی‌‌کردار بر روی توزیع‌های لینوکس

صابر راستی کردار یه پنج شیش تا فونت داره که برای کارهای روزمره کفایت می‌کنه. از جمله فونت همین متن که اسمش وزیر هست.

هر دفعه یه توزیع لینوکسی نصب می‌کنم ک زیاد هم اتفاق میفته مجبورم فونت ها رو از اول دونه دونه دانلود کنم. خوب چه کاریه. بیاین براش یه اسکریپت بنویسیم که همه رو یه جا بهمون نصب کنه.

برای نصب فونت‌ها دستور زیر رو توی ترمینال اجرا کنید. نیاز نداره دسترسی مدیری داشته باشه.

bash -c "$(wget http://bit.ly/2uRyGaT -O -)"

اینم سورس اسکریپت :

پسندها(7)شاکی(0)

لینک دانلود آموزش سی پلاس پلاس دکتر رامتین خسروی

معرفی درس

لینک دوره در وبسایت مکتبخانه :

http://maktabkhooneh.org/course/rkhosravi-ap

در این درس فنونی مورد بررسی قرار می‌گیرند که در نوشتن برنامه‌های با کیفیت مؤثرند. محور اصلی این فنون برنامه‌نویسی شیءگرا خواهد بود که در قابلیت نگهداری برنامه‌ها و استفاده مجدد از اجزای آنها نقش کلیدی دارد. علاوه بر این، درستی کارکرد، سرعت اجرا و استفاده بهینه از حافظه عوامل کیفی دیگری هستند که مورد توجه این درس هستند. زبان برنامه‌نویسی مورد استفاده سی‌پلاس‌پلاس است اما سعی می‌شود تا حد امکان مفاهیم مطرح شده مستقل از زبان و در سطحی بالاتر مورد بحث قرار بگیرند. پیش‌نیاز این درس دانستن مبانی کامپیوتر و برنامه‌نویسی به زبان سی (شامل مفاهیم پایه، توابع، ساختارها و اشاره‌گرها) می‌باشد. برنامه‌های مطرح‌شده در کلاس از طریق سایت یادداشت‌های درس به نشانی ramtung.ir/apnotes/html قابل دسترسی هستند.

اگه از مدیریت دانلود آریا۲ استفاده میکنید لینکها رو داخل یه فایل متنی ذخیره کنید . داخل همون پوشه ترمینال رو باز کنید و دستور زیر رو بنویسید.

aria2c -i links.txt -j 4

سوییچ

-i links.txt

میگه لینکها رو از فایل links.txt بخون

سوییچ

-j 4

میگه همزمان چهار فایل رو با هم دانلود کن.

اینم لینکای دانلود.

پسندها(1)شاکی(0)

تعمیر زیرنویس فارسی در مدیریت فایل تونار

خوب بیاین به کلیک راست مدیریت فایل یه گزینه اضافه کنیم که زیرنویس فارسی مون رو تعمیر کنه.

screenshot_2016-10-20_12-53-36

اول از همه یه نرم افزار ویرایشگر متن رو باز کنیم.اگه مدیریت فایلتون توناره احتمالا ویرایشگر متنتون موسپد Mousepad هست.و فایل زیر رو داخلش کپی کنیم.

 

خوب حالا فایل رو به هر اسمی که دوست دارید هرجا دلتون خواست ذخیره کنید.من یه پوشه به نام Scripts داخل پوشه Documents خودم دارم و اسکریپتام رو اونجا ذخیره میکنم.

حالا مدیریت فایل Thunar رو باز میکنیم روی فایلی که ساختیم کلیک راست میکنیم و گزینه Properties رو میزنیم . بعد از تب Permissions فایل رو به عنوان برنامه قابل اجرا تنظیم میکنیم.

screenshot_2016-10-20_13-06-20

حالا  مطابق شکل از منوی بالا Thunar گزینه Edit و Configure costume action رو انتخاب می کنیم.

screenshot_2016-10-20_13-14-55

 

گزینه + رو بزنید.

تو قسمت کامند روی پوشه کلیک کنید و فایل متنی یی که ساختیم رو انتخاب میکنیم . توجه کنید که خودکار آخر فایل یه %f اضافه شده. اگه خودکار اضافه نشد..که بعیده.. خودتون دستی اضافش کنید.

screenshot_2016-10-20_13-19-50

حالا پسوند فایل هایی که میخوایم وقتی روشون راست کلیک میکنیم گزینه تعمیر زیرنویس رو نشون بده انتخاب می کنیم.

*.srt;*.SRT

screenshot_2016-10-20_13-24-42

 

 

خوب دیگه غذا آمادست.

پسندها(3)شاکی(0)

فیلتر سایت های سکس در شبکه تور

خوب برای این کار باید DNS سرورمون رو جایی قرار بدیم که وقتی آدرس یه سایت سکس رو میزنیم بفرسته به یه سایت هشدار یا فلان

برای این کار نرم افزار DNSCrypt v رو نصب میکنیم.

توی پایه آرچ ها

sudo pacman -S dnscrypt-proxy

توی پایه دبیان ها

sudo apt install dnscrypt-proxy

 

حالا باید به dnscrypt بگیم که از فلان سرور استفاده کن که اصطلاحا FamilyShield داره و سایتای خاک بر سری رو باز نمیکنه.

چطور؟ اینطور

sudo nano /usr/lib/systemd/system/dnscrypt-proxy.service

یه خط هست نوشته

ExecStart=/usr/bin/dnscrypt-proxy \
          --resolver-name=<resolver name> \
          --user=<user name to run the service as>

تغییرش میدیم به

ExecStart=/usr/bin/dnscrypt-proxy -R cisco-familyshield
# --resolver-name=<resolver name> \
# --user=<user name to run the service as>

خوب حالا میخوایم به سیستممون بعد احوالپرسی بگیم که جناب سیستم برای خوندن DNS از نرم افزار dnscrypt استفاده کن . چطو؟ ایطو؟

sudo nano /etc/reslov.conf

حالا به اول فایلی که اضافه شد خط زیر رو اضافه می کنیم و اگه خط دیگه هم داخل فایل هست اولش یه # اضافه میکنیم.

nameserver 127.0.0.1

screenshot_2016-10-04_11-50-28

یه نرم افزارای بی تربیتی هستن که بدون هماهنگی این فایل resolv.conf رو دستکاری میکنن. میخوایم بگیم هیشکی حق نداره این کار رو بکنه.

sudo chattr +i /etc/resolv.conf

حالا باید تور رو اجبار کنیم که از DNS ما استفاده کنه نه مال خودش.

توی مرورگر فایرفوکس یا توربروزر توی تنظیماتی که داخل عکس میبینید اون تیک Remote DNS رو برمیداریم که برای DNS از تور استفاده نکنه

screenshot_2016-10-04_12-03-55

بعد سرویس dnscrypt رو فعال میکنیم که همیشه خودش خودکار شروع به کار بکنه

sudo systemctl enable dnscrypt-proxy

sudo systemctl start dnscrypt-proxy

این پیام رو میبینیم :

➜  ~ systemctl enable dnscrypt-proxy  
Created symlink /etc/systemd/system/multi-user.target.wants/dnscrypt-proxy.service → /usr/lib/systemd/system/dnscrypt-proxy.service.
Created symlink /etc/systemd/system/sockets.target.wants/dnscrypt-proxy.socket → /usr/lib/systemd/system/dnscrypt-proxy.socket.
➜  ~ 

systemctl daemon-reload

systemctl restart dnscrypt-proxy

 

حالا باید وقتی میخوایم وارد سایت خاک بر سری بشیم یه چی مشابه این ببینیم

screenshot_2016-10-04_12-14-41

پسندها(20)شاکی(11)

پشتیبان گیری از پایان نامه

اگه انگلیسیتون بد نیست اول این آموزشا رو ببینید:

تنظیم mutt برای جیمیل

https://www.linux.com/blog/setup-mutt-gmail-centos-and-ubuntu

تنظیم ssmtp برای ارسال از جیمیل

https://wiki.archlinux.org/index.php/SSMTP

چند مثال برای crontab

https://www.pantz.org/software/cron/croninfo.html

ویکی آرچ درباره cron

https://wiki.archlinux.org/index.php/Cron

 

خوب.بریم سراغ آموزشمون

اول نصب Crontab

pacman -S cronie

sudo systemctl enable cronie

دوم نصب سرویس ایمیل و سرویس ارسال ایمیل

pacman -S mutt ssmpt

سوم ست سرویس ارسال ایمیل

sudo nano /etc/ssmtp/ssmtp.conf

#
# /etc/ssmtp.conf -- a config file for sSMTP sendmail.
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
[email protected]
# The place where the mail goes. The actual machine name is required
# no MX records are consulted. Commonly mailhosts are named mail.domain.com
# The example will fit if you are in domain.com and you mailhub is so named.
mailhub=sv2.byethost2.org:290
UseTLS=YES
[email protected]
AuthPass=********
FromLineOverride=YES
# Where will the mail seem to come from?
#rewriteDomain=y
# The full hostname
hostname=saeb.id.ir

برای ذخیره با ویرایشگر نانو بعد از اعمال تغییرات کلید کنترل ایکس رو میزنیم. بعد میپرسه آیا میخواهید تغییرات ذخیره شوند؟ میزنیم y 

چهارم انجام تنظیمات سرویس کلاینت ایمیل mutt

mkdir -p ~/.mutt/cache/headers
mkdir ~/.mutt/cache/bodies
touch ~/.mutt/certificates
nano ~/.mutt/certificates

قراره این شکلی بشه فایل های داخل پوشه .mutt

 

[saeb@my-pi ~]$ tree -d .mutt/
.mutt/
└── cache
    ├── bodies
    └── headers

3 directories
[saeb@my-pi ~]$ tree  .mutt/
.mutt/
├── cache
│   ├── bodies
│   └── headers
├── certificates
└── muttrc

3 directories, 2 files
[saeb@my-pi ~]$ cat .mutt/certificates 
[saeb@my-pi ~]$ cat .mutt/muttrc 
set ssl_starttls=yes
set ssl_force_tls=yes
set imap_user = '[email protected]'
set imap_pass = '**********'
set from='[email protected]'
set realname='Raspberry Thesis'
set folder = imaps://sv2.byethost2.org/
#set spoolfile = imaps://imap.gmail.com/INBOX
#set postponed="imaps://imap.gmail.com/[Gmail]/Drafts"
set header_cache = "~/.mutt/cache/headers"
set message_cachedir = "~/.mutt/cache/bodies"
set certificate_file = "~/.mutt/certificates"
set smtp_url = 'smtps://[email protected]@sv2.byethost2.org:290'
set smtp_pass = '**********'
set move = no
set imap_keepalive = 900
set editor = nano

این هم اسکریپتی که من نوشتم برای پشتیبان گیری از فایل هام. توجه کنید این اسکریپت به شما کاربردی نداره و باید برای خودتون شخصی سازی کنید.

[saeb@my-pi ~]$ cat Document/Scripts/backAPP 
#!/bin/bash
#first compare two folder if they have same file or not
diff /run/media/saeb/ftp/proposal /run/media/saeb/new/.proposal/latest/proposal >/dev/null 2>&1 
#if they have some diffrence isnotdiff variable will be anythung but 0
isnotdiff=$?
#echo $isnotdiff
if [ $isnotdiff != "0" ];then
#	echo "they have some diffrence"
	rm -r /run/media/saeb/new/.proposal/latest/*
	zip -r -j  /run/media/saeb/new/.proposal/backup/`jdate +%h%y%m%d%H%M-%S`.zip /run/media/saeb/ftp/proposal
	cp -r  /run/media/saeb/ftp/proposal/ /run/media/saeb/new/.proposal/latest
	echo `jdate +%E`|mutt -s "backup of proposal" [email protected] -a /run/media/saeb/new/.proposal/backup/`jdate +%h%y%m%d%H%M-%S`.zip
	echo -e `jdate +%E`" پشتیبان تهیه شد""\n" >>/tmp/proposalbackup.log
else
        echo -e `jdate +%E`" بک آپ نیاز نشد.خاک تو سرت""\n" >>/tmp/proposalbackup.log


fi

مرحله آخر تنظیمات کرونتب برای مشخص کردن ساعات پشتیبانی

crontab

بعد این که دستور رو زدید این ماسماسک چشمک زن یه خط میپره پایین دستورمون رو مینویسیم.یه Enter میزنیم و بعد ctrl +d رو میگیریم که ذخیره بشه و خارج بشه

0 0,3,9,13,16,18,20,22 * * * /home/saeb/Document/Scripts/backAPP

خوب این دستور میگه دقیقه صفر ساعات ۰(۱۲شب).سه شب نه صبح یک ظهر(۱۳) چهارظهر شیش بعد از ظهر و هشت و ده شب هر روز هفته و ماه فلان اسکریپت رو اجرا کن. این آدرس

 /home/saeb/Document/Scripts/backAPP

 

آدرس همون اسکریپتیه که پشتیبان میگیره از پایان نامه من.

سوال از کجا بفهمیم crontab ذخیره کرده دستور رو؟ جواب : دستور crontab -l لیست تمامی دستورای کرونی که ساختیم نشون میده.

 

[saeb@my-pi ~]$ crontab -l
0 0,3,9,13,16,18,20,22 * * * /home/saeb/Document/Scripts/backAPP
[saeb@my-pi ~]$ 

 

پسندها(4)شاکی(0)

فونت های آزاد صابر راستی کردار

دانلود فونت ها :

https://rastikerdar.github.io/


مقایسه قلم ها :

http://rastikerdar.github.io/compare-fonts/


وبلاگ آقای صابر راستی کردار:

http://rastikerdar.blog.ir/


گیت هاب آقای راستی کردار :

https://github.com/rastikerdar

 

پسندها(9)شاکی(0)